#pragma once
#include "constructivesolidgeometry.h"
class CCSGDifference :
	public CConstructiveSolidGeometry
{
public:
	CCSGDifference(void);
	virtual ~CCSGDifference(void);

	virtual bool IsIntersect(const CRay& vRay, DATA_TYPE& t, bool& bInside, CVector3D& vNormal) const;
	virtual bool IsInGeometry(const CVector3D& vPoint) const;
	virtual bool GetAllIntersectionPoints(const CRay& vRay, vector<IntersectionPoint>& vIntersectionPoints) const;
};

typedef boost::shared_ptr<CCSGDifference> CCSGDifferencePtr;